package clients

import (
	"gitee.com/go-course/go12/vblog/apps/blog"
	"gitee.com/go-course/go12/vblog/apps/token"
	"github.com/infraboard/mcube/client/rest"
)

func NewClient() *Client {
	return &Client{
		c: rest.NewRESTClient().SetBaseURL("http://127.0.0.1:7080/api/vblog/v1"),
	}
}

// 实现Vblog的客户端 (ui  http ---> restful api)
// 提供的是一个 lib(SDK)
// Client.Blog().CreateBlog(xxxx) 不需要知道url, 知道参数是什么，返回什么
type Client struct {
	// 专门为restful api 定制开发的 http client
	// c.POST('').Para(xxx).Do().Into(xxx)
	c *rest.RESTClient
}

// blog service 的客户端调用接口
func (c *Client) Blog() blog.Service {
	return nil
}

// blog service 的客户端调用接口
func (c *Client) Token() token.Service {
	//  http:127.0.0.1:8070/api/vblog/v1/tokens
	return &TokenClient{c: c.c.Group("tokens")}
}
